Assignment Stack Shrinking

نویسندگان

  • Alexander Nadel
  • Vadim Ryvchin
چکیده

Assignment stack shrinking is a technique that is intended to speed up the performance of modern complete SAT solvers. Shrinking was shown to be efficient in SAT’04 competition winners Jerusat and Chaff. However, existing studies lack the details of the shrinking algorithm. In addition, shrinking’s performance was not tested in conjunction with the most modern techniques. This paper provides a detailed description of the shrinking algorithm and proposes two new heursitics for it. We show that using shrinking is critical for solving well-known industrial benchmark families with the latest versions of Minisat and Eureka.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Hardware-Based Solution Detecting Illegal References in Real-Time Java

The memory model used in the Real-Time Specification for Java (RTSJ) imposes strict assignment rules to or from memory areas preventing the creation of dangling pointers, and thus maintaining the pointer safety of Java. An implementation solution to ensure the checking of these rules before each assignment statement consists to use write barriers executing a stack-based algorithm. This paper pr...

متن کامل

Eureka-2008 SAT Solver

We describe the SAT solver Eureka. Eureka is a state-of-the-art SAT solver, used in various Formal Verification flows at Intel. Eureka is based upon backtrack search DLL algorithm, enhanced by failure-driven assertion loop; nonstandard conflict analyses; restart and clause deletion strategies; CBH decision heuristic and decision stack shrinking.

متن کامل

A New Approach to Forth Native Code Generation

RAFTS is a framework for applying state of the art compiler technology to the compilation of Forth. The heart of RAFTS is a simple method for transforming Forth programs into data ow graphs and static single assignment form. Standard code generation and optimization techniques can be applied to programs in these forms. Speciically, RAFTS uses interprocedural register allocation to eliminate nea...

متن کامل

Integrated Java Bytecode Verification

Existing Java verifiers perform an iterative data-flow analysis to discover the unambiguous type of values stored on the stack or in registers. Our novel verification algorithm uses abstract interpretation to obtain definition/use information for each register and stack location in the program, which in turn is used to transform the program into Static Single Assignment form. In SSA, verificati...

متن کامل

Return-Address Protection in C/C++ Code by Dependability Aspects

Due to shrinking structure sizes on memory chips, the probability of memory failures, such as spontaneous bit flips, is increasing. Especially in the domain of massproduced cheap embedded systems, hardware solutions are not affordable. Therefore, there is a need for cost-efficient software-based fault-tolerance mechanisms. In this paper we focus on such a mechanism for the protection of CPU sta...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010